package com.anyonavinfo.cpaddemo.data.musicinfo.source;

import com.anyonavinfo.cpaddemo.data.musicinfo.MusicInfo;

import java.util.List;

/**
 * Created by ZuiC on 2017/1/23.
 */

public interface MusicInfoDataSource {
    interface LoadMusicInfoCallBack{
        void onMusicInfoLoaded(List<MusicInfo> musicInfoList);
    }
<<<<<<< HEAD
    interface GetNextMusicInfoCallBack{
        void onGetNextGetMusicInfo(MusicInfo musicInfo);
    }

    interface GetPreviousMusicInfoCallBack{
        void onGetPreviousMusicInfo(MusicInfo musicInfo);
    }

    interface GetCurMusicInfoCallBack{
        void onGetCurMusicInfo(MusicInfo musicInfo);
    }

    interface GetCurPlayModeCallBack{
        void onGetCurPlayMode(int mode);
    }

    interface ChangeCurPlayModeCallBack{
        void onChangeCurPlayMode(int mode);
    }

    interface ChangeCurPlayStatusCallBack{
        void onChangeCurPlayStatus(int status);
    }

    interface GetCurPlayStatusCallBack{
        void onGetCurPlayStatus(int status);
    }

    interface getMusicInfoWhenEndingCallBack{
        void onGetMusicInfoWhenEnding(MusicInfo musicInfo);
    }

    interface SetCurMusicCallBack{
        void onSetCurMusic(MusicInfo musicInfo);
    }

    interface DeleteMusicCallBack{
        void onDeleteMusic(List<MusicInfo> musicInfoList, boolean isSame, boolean isClear);
    }

    interface ReloadMusicInfoCallBack{
        void onReloadMusicInfo(List<MusicInfo> musicInfoList);
    }

    void loadMusicInfo(LoadMusicInfoCallBack callBack);
    void getNextMusicInfo(GetNextMusicInfoCallBack callBack);
    void getPreviousMusicInfo(GetPreviousMusicInfoCallBack callBack);
    void getCurMusicInfo(GetCurMusicInfoCallBack callBack);
    void changeCurPlayMode(ChangeCurPlayModeCallBack callBack);
    void getCurPlayMode(GetCurPlayModeCallBack callBack);
    void getCurPlayStatus(GetCurPlayStatusCallBack callBack);
    void changeCurPlayStatus(ChangeCurPlayStatusCallBack callBack);
    void getMusicInfoWhenEnding(getMusicInfoWhenEndingCallBack callBack);
    void setCurMusic(SetCurMusicCallBack callBack, int selectedPosition);
    void deleteMusic(DeleteMusicCallBack callBack, int selectedPosition);
    void reloadMusicInfo(ReloadMusicInfoCallBack callBack);
=======
    void loadMusicInfo(LoadMusicInfoCallBack callBack);
>>>>>>> b56716b621890f59100a220d4c7abe0ddb29e232
}
